package JLB_Chapter_04;

public class SelectSort {
    /**
     *直接选择排序法
     * @param array
     * 要排序的数组
     */
    public void sort(int[] array) {
        int index;
        for(int i = 1; i < array.length; i++) {
            index = 0;
            for(int j = 1; j <= array.length - i; j ++) {
                if(array[j] > array[index]) {
                    index = j;
                }
            }
            // 交换在位置array.length-i和index(最大值)位置上的两个数
            int temp = array[array.length - i];
            array[array.length - i] = array[index];
            array[index] = temp;
        }
        showArray(array);
    }

    /**
     * 显示数组中的所有元素
     * @param array
     */
    public void showArray(int[] array) {
        System.out.println("选择排序的结果为：");
        for(int row : array) {
            System.out.print(row + " ");
        }
        System.out.println();
    }
    /**
     * 主函数
     */
    public static void main(String[] args) {
        int[] array = new int[] { 45,7899,45,45,5,56};
        SelectSort sorter = new SelectSort();
        sorter.sort(array);
    }
}
